The present invention relates generally to a remote access application for connecting a client device to a host computer in order to use applications stored on the host computer. The invention is particularly well-suited for portable client devices which feature a touch screen, such as a tablet, smartphone, or personal digital assistant (PDA), especially ones that feature a high resolution display like the Apple™ Retina™ display.
Remote presentation protocols, such as Remote Desktop Protocol (RDP), Independent Computing Architecture (ICA), PC-over-IP (PCoIP), and Virtual Network Computing (VNC) display portions of a remote virtual screen onto portions of the screen of a client device. This enables a user to view and interact with applications and documents that reside and operate on a remote device, also known as the host computer. A remote virtual screen is also known as a remote desktop or remote session. An application that resides on a client device and provides access to a remote desktop is known alternatively as a remote desktop application or remote access software. As such, those terms are used interchangeably herein, and any reference to a remote desktop or remote desktop application should be understood to include remote access software, whether it provides remote access to a whole desktop or to a single application.
The default behavior of most remote desktop applications is to display the remote session on the client device using a remote-local pixel ratio of 1:1, meaning one pixel of the remote desktop, i.e. the image returned by the host computer, will be displayed on the client device using one pixel of the client display. However on high resolution client devices such as tablets, smartphones and personal digital assistants (PDAs), the pixels are smaller and closer together in order to accommodate a greater number of pixels in the same physical space, enabling the device to produce higher quality images. If the remote desktop is displayed on a high resolution device using a 1:1 pixel ratio, the fonts and icons of the remote desktop will appear very small, and in some cases will also not occupy the entire screen of the client device.
When the fonts and icons of the remote desktop are displayed too small on the client device, it becomes difficult to see and interact with remote applications, i.e. the applications of the host computer which the user is accessing in the remote session. This is especially true in those client devices featuring a touch screen such as tablets based on the Android™ or iOS™ operating system, since a user needs to touch or tap parts of the displayed elements of the application with his or her finger in order to interact with the application. If the icon, or “touch target” as it is more commonly known on these devices, is significantly smaller than the size of the user's fingertip, it becomes difficult for the user to tap it without also inadvertently tapping neighboring touch targets, making for a frustrating user experience.
For example, a standard Microsoft Windows™ icon is 48×48 pixels in size. If a host computer running Windows™ has a 21″ display with a resolution of 1920×1080 and a pixel density of 104.9 ppi (pixels per inch), the 48×48 pixel icon will measure approximately 0.45×0.45 inches on the host computer's screen. When a client device having a resolution of 2560×1600 and a pixel density of 300 ppi, for example the Google™ Nexus 10, connects to the same host computer using RDP and a remote-to-local pixel ratio of 1:1, the 48×48 pixel icon will measure only 0.16×0.16 inches on the client device screen, a fraction of the original size.
In order to overcome this difficulty, a user will usually be required to enlarge the image of the remote desktop or application by using a zoom gesture, i.e. two fingers sliding apart, until the fonts are easily read and touch targets are large enough to tap comfortably. However, when the remote display is zoomed, some elements of the remote desktop or application get pushed outside the viewable area of the client display, making it necessary to also use pan gestures, i.e. a swipe to the left, right, up or down, in order to bring the lost elements into view as needed. Working on a remote application using a high resolution client device requires the user to repeatedly zoom-in, pan, tap, and zoom-out while the user interacts with the different elements of the application. Obviously it would be desirable to provide remote access software which is specifically designed for small, yet high resolution client devices, which minimizes, to the extent possible, the number of zooms and pans required to interact comfortably with a remote application.
One solution known in the art is to offer the user the ability to change the default settings in the remote desktop application by prompting the user to enter a custom resolution for displaying the remote desktop, or by presenting the user a drop down list of resolution options. If a resolution lower than the client device's default, or native, resolution is specified, the client display will use more than one client pixel to display one remote pixel, resulting in a larger remote desktop and correspondingly larger touch targets. By experimenting with different resolution settings the user may be able to find a setting that displays the remote desktop with fonts and touch targets that are sized appropriately to be able to work comfortably, even if some zooming and panning are still required.
However this solution to the problem requires action and experimentation by the user. Furthermore, it requires a level of sophistication on the part of the user to recognize that a solution exists by playing with the settings. It is well recognized in software development that the average software user rarely changes the default settings of the software programs he or she uses.
Therefore, it would be advantageous to have a remote access application which would automatically and without user initiation display a remote desktop on a client device with fonts and touch targets sized appropriately for the user to work effectively.